/**
 * 
 * @param {String} url 请求地址
 * @param {Object} params 请求参数
 * @param {String} type 返回类型
 * @param {Function} callback 回调函数
 * @param {Object} headers 自定义请求头
 */
function get(url,params,type,callback,headers={}){
    let xhr = new XMLHttpRequest()
    xhr.onreadystatechange = ()=>{
        if(xhr.readyState === 4){
            if(xhr.status === 200){
                let res = xhr.responseText
                if(type === 'json') res = JSON.parse(res)
                callback(res)
            }else{
                console.log(xhr.status)
            }
        }
    }
    let temp = [];
    for(let key in params){
        temp.push(`${key}=${params[key]}`)
    }
    let filterParams = temp.join('&');
    xhr.open('get',`${url}?${filterParams}`)
    for(let key in headers){
        xhr.setRequestHeader(key,headers[key])
    }
    xhr.send(null) 
}

/**
 * 
 * @param {String} url 请求地址
 * @param {Object} params 请求参数
 * @param {String} type 返回类型
 * @param {Function} callback 回调函数
 * @param {Object} headers 自定义请求头
 */
 function post(url,params,type,callback,headers={}){
    let xhr = new XMLHttpRequest()
    xhr.onreadystatechange = ()=>{
        if(xhr.readyState === 4){
            if(xhr.status === 200){
                let res = xhr.responseText
                if(type === 'json') res = JSON.parse(res)
                callback(res)
            }else{
                console.log(xhr.status)
            }
        }
    }
    let temp = [];
    for(let key in params){
        temp.push(`${key}=${params[key]}`)
    }
    let filterParams = temp.join('&');
    xhr.open('post',url)
    xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
     for(let key in headers){
         xhr.setRequestHeader(key,headers[key])
     }
    xhr.send(filterParams)
}